package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import bean.User;

public class UserDao {
	/**

	 * 用户登录判断

	 * 

	 * @param user

	 * 

	 * @return 从数据库中查询出来的用户，null表示用户账户和密码不匹配

	 */
	public User userLogin(User user) {
		User u = null;
		// 获取数据库连接对象

		Connection conn = ConnectionUtils.getConnection();
		String sql = "select * from user where username=? and password=?"; // sql语句

		try {
			PreparedStatement state = conn.prepareStatement(sql); // 容器

			state.setString(1, user.getUsername()); // 将第n个值替换成某个值

			state.setString(2, user.getPassword());
			ResultSet re = state.executeQuery(); // 数据库返回结果集


			if (re.next()) { // 如果取到了值，那么输出

				// 将数据库中获取到的值设置到user中

				u = new User();
				u.setId(re.getString("id"));
				u.setUsername(re.getString("username"));
				u.setPassword(re.getString("password"));
			}

			// 关闭资源，但是不要关闭Connection，以便后面复用

			ConnectionUtils.closeResultSet(re);
			ConnectionUtils.closePreparedStatement(state);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return u;
	}
}
